1. Field of the Invention
The present invention relates to a method of integrating text retrieval to enhance software stem searching and, more particularly, to a software stem searching method which positions a highlight bar even if the entered text is not the first word of the highlighted item and does so without reducing the number of records in the stem search display.
2. Description of the Prior Art
Stem searching techniques are well known. Stem searching of items listed on a paper has existed since alphabetized lists were first printed. Stem searching is the process of looking up information based on the stem of the word or entry starting with the left-most characters. In dictionaries and encyclopedias, the "A" through "Z" tabs are cut into the page of the text allowing the user to jump to the location within the list beginning with entries starting with the selected letter. The list is unchanged by the use of such tabs, and pages of the reference are not affected.
A software based stem search, by definition, is completely analogous. Most typically, an ordered list is presented to the user as a scrolling display of entries. The user is also presented with a "type to get closer" box and tab buttons that are equivalent to the tabs of paper works. By using the mouse or the keyboard to select the tabs, the user jumps to the location within the list beginning with entries starting with the selected letter from the tab button. If the software operator is using the "type to get closer" box, he or she has the option of typing in words or phrases to be used as the "stem" of the search. In this case, the software will perform a stem search based on matching the typed in word or phrase with the entry, starting with the left most letter of the entry and matching letter for letter, from the left to the right of the entry. In the event that a match is not found, conventional stem search engines strip characters from the end of what has been typed in by the user and conduct the search again. If once again there is no match found, the highlight bar does not move from the top of the list and what the user typed in is now gone.
In some stem search software, the stem search is character case sensitive. However, most systems are case insensitive. In addition, in some stem search systems, an automated delay may be built into the system that postpones the positioning of the highlight bar in the list until the user stops typing. An alternative that is also commonly used is a character for character positioning as the stem is being typed.
In both paper and electronic systems, the drawback to a stem search is the difficulty in finding an entry if the user does not know with what letter the entry starts. For example, "sickle cell anemia" may be listed as "anemia, sickle cell". The user will be unsuccessful in finding it by entering a stem starting with an "s".
In contrast to stem searching, another standard way to search a list of entries is by performing a database search. A database search is distinctively different than a stem search. In a database search, typing in values results in presenting the user with a smaller list containing only those entries that match the entered criteria. If a database search of a paper list were possible, it would be equivalent to selecting a letter from the tab and tearing out that section of the dictionary, only showing the matching pages to the user. When the database search is unsuccessful, the database engine returns only the fact that there is no match. In contrast to the stem search, no stripping of characters occurs and there are no additional executions of the search.
The advantage of a conventional database search is its ability to search for a match anywhere in the entry, not just at the beginning "stem" of the entry. The obvious drawback to this approach is losing the view of the entry with respect to its neighboring entries. For example, searching for "sickle" will bring up "anemia, sickle cell" among a list of entries with the word "sickle" in them. However, the user will not be able to see the other types of anemias that may also be of interest. In recent years, Microsoft in its MS Officer.TM. line of products has substituted the stem search with the database search. This is apparent when the open file option is selected from within MS Word.TM.. When the open file option is selected, typing in the "File Name" field and hitting enter results in displaying only those files that contain matching letters in their names.
A common issue exists with both the stem search and database search methods for searching a list of entries. In both cases, the user is searching by word matches alone. The search software has no content understanding and provides no assistance to the user in the event of a failed search. However, Agnew, et. al. in U.S. Pat. No. 4,884,218 describe a database driven expert system that is invoked to assist the user if the results of a standard database search do not produce results. Similarly, natural language database search engines attempt to translate meanings of user questions into search criteria to hide the user from the complexities of building search queries that present to the user matching entries. An example of this is the MS Office.TM. animated helper. Unfortunately, neither of these approaches presents a method for enhancing the stem search technology while preserving its benefits. The present invention has been developed to integrate text retrieval operations into software stem searching operations so as to reap the benefits of both types of systems.